package com.example.gymlearning.mapper;

import com.example.gymlearning.entity.KnowledgeClass;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface KnowledgeClassMapper {

    /**
     * 通过ID查询单条数据
     */
    KnowledgeClass queryById(Long id);

    /**
     * 查询所有分类数据
     */
    List<KnowledgeClass> queryAll(); // 添加这个方法

    /**
     * 查询指定行数据
     */
    List<KnowledgeClass> queryAllByLimit(@Param("knowledgeClass") KnowledgeClass knowledgeClass,
                                         @Param("pageable") Object pageable); // 补全方法签名

    /**
     * 统计总行数
     */
    long count(KnowledgeClass knowledgeClass);

    /**
     * 新增数据
     */
    int insert(KnowledgeClass knowledgeClass);

    /**
     * 批量新增数据
     */
    int insertBatch(@Param("entities") List<KnowledgeClass> entities);

    /**
     * 批量新增或按主键更新数据
     */
    int insertOrUpdateBatch(@Param("entities") List<KnowledgeClass> entities);

    /**
     * 修改数据
     */
    int update(KnowledgeClass knowledgeClass);

    /**
     * 通过主键删除数据
     */
    int deleteById(Long id);


    List<KnowledgeClass> selectAll();
}